faces <- c('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'J', 'Q', 'K')
suits <- c('hearts', 'clubs', 'diamonds', 'spades')

deck <- expand.grid(face = faces, suit = suits)
deck$value <- match(deck$face, faces)

# 利用负整数取值法，查找 deck 对象第 2 行，第 1、3 列以外的所有数据
deck[2, -c(1, 3)]

# 利用名称取值法，查找 deck 对象第 12、17、29 行，face 列的数据
deck[c(12, 17, 29), "face"]

# 利用逻辑值取值法，查找 deck 对象第 5 - 7 行以外、第 2、3 列数据
deck[!(seq_len(nrow(deck)) %in% 5:7), c(2, 3)]

# 利用 $ 取值法，计算 value 列的均值
mean(deck$value)

# 发一张牌
deal <- function(cards){
  return(cards[1,])
}
shuffle <-function(cards){
  o <- sample(1:52,size=52)
  o
  return(cards[o,])
}
deck2 <- shuffle(deck)





#已有之前生成的扑克牌数据框 deck

# 找到牌面为"ace"的行
ace_rows <- which(deck$face == "six") # 这里的"6"实际上是"ace"

# 修改对应行的 value 为 14
deck$value[ace_rows] <- 14

print(deck)
# 找到牌面为"ace"的行
ace_rows <- which(deck$face == "ace")

# 修改这些行的 value 为 14
deck$value[ace_rows] <- 14

print(deck)

